//
//  CZVisitorTableViewController.swift
//  WeiBo
//
//  Created by Apple on 16/9/5.
//  Copyright © 2016年 KY. All rights reserved.
//

import UIKit

//  访客视图控制器
class CZVisitorTableViewController: UITableViewController {
    
    //  重写loadview方法，根据登录标记判断，创建那种视图（1.访客视图，2.系统得tableview视图）
    var isLogin: Bool = CZUserAccountViewModel.sharedUserAccount.isLogin
    //  访客视图
    var visitorView: CZVisitorView?
    override func loadView() {
        
        if isLogin {
            //  登录了， 使用系统得视图
            super.loadView()
        } else {
            //  没有登录，使用自己定义的访客视图
            visitorView = CZVisitorView()
            //  设置代理对象
            visitorView?.delegate = self
            //  设置登录操作的闭包
            //  注意循环引用
            visitorView?.loginOperationCallBack = { [weak self] in
            
                //  
                print("闭包执行的登录操作")
                self?.pushOAuthPage()
            }
            
            view = visitorView
            
            //  设置导航栏按钮
            setupNavUI()
        }
        
        
    }
    
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
    }
    
    
    
    
    //  设置导航栏按钮
    fileprivate func setupNavUI() {
        
        navigationItem.leftBarButtonItem = UIBarButtonItem(title: "登录", target: self, action: #selector(loginAction))
        navigationItem.rightBarButtonItem = UIBarButtonItem(title: "注册",target: self, action: #selector(registerAction))
    }
    
    @objc fileprivate func loginAction() {
        print("登录")
        
//        let vc = CZTestViewController()
//        
//        navigationController?.pushViewController(vc, animated: true)
        
        
        pushOAuthPage()
    }
    
    @objc fileprivate func registerAction() {
        print("注册")
        pushOAuthPage()
    }
    
    
    //  新浪微博登录相关操作
    private func pushOAuthPage() {
        let oauthVC = CZOAuthViewController()
        let nav = CZNavigationViewController(rootViewController: oauthVC)
        present(nav, animated: true, completion: nil)
    }
    
    
    
}


extension CZVisitorTableViewController: CZVisitorViewDelegate {
    func loginOperation() {
        //
        print("我是代理对象调用的代理方法")
    }
}












